#include <stdio.h> 
int main()
{    
	int m=0;
	int n=0;
	while(scanf("%d %d",&m,&n)!=EOF)
	{
		if(m<n)//大小移位
		{
		  int temp=m;
			m=n;
			n=temp;
		}
		
		
		int b=m;
		int c=n;
		int a=0;
		while(m%n!=0)//求最大公约数
		{
			a=m%n;
			m=n;
			n=a;
		}
		printf("最大公约数为%d\n",n);
		
		
		
		printf("最小公倍数为%d",(b*c)/n);
	}
	return 0;
} 
